Skip to content

feat(encryption/kms): Add AWS KMS client - #3173

Open
zakariya-s wants to merge 7 commits into
apache:mainfrom
zakariya-s:zstasa/aws-kms-cse
Open

zakariya-s wants to merge 7 commits into
apache:mainfrom
zakariya-s:zstasa/aws-kms-cse

Conversation

@zakariya-s

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

What changes are included in this PR?

Adds a new iceberg-kms-aws crate implementing Iceberg client-side encryption key management with AWS KMS.

The KMS client is created once from the application-supplied catalog properties and shared across the catalog, matching the existing KmsClientFactory lifecycle.

Are these changes tested?

Yes.

The AWS SDK mock framework was also used to test AWS calls.

AI Disclosure

LLMs were used to assist, but the code has been validated by hand.

Comment thread crates/kms/aws/src/config.rs Outdated
Comment thread crates/kms/src/aws/client.rs
@mbutrovich

mbutrovich commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

How does this compare to #2466?

cc @hsiang-c

@zakariya-s

Copy link
Copy Markdown
Contributor Author

How does this compare to #2466?

cc @hsiang-c

It implements the same but the previous PR has been inactive for a few months now. This also addresses some of @xanderbailey's comments.

Comment thread crates/kms/Cargo.toml
iceberg-property-macro = { workspace = true }

[dev-dependencies]
aws-sdk-kms = { workspace = true, features = ["test-util"] }

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Security audit is failing because of h2 0.3.27 (RUSTSEC-2026-0258) introduced through aws-sdk-kms/test-util. It's a low-severity issue but still fails the checks.

We could do a temporary audit exception for it? Especially since this only affects tests.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hsiang-c

hsiang-c commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

@zakariya-s Thanks for working on it, I'll review your PR.

@mbutrovich Thanks for the reminder!

@zakariya-s

Copy link
Copy Markdown
Contributor Author

Hey @hsiang-c @mbutrovich @CTTY could I get a review here when you have time please? Thanks

@xanderbailey

Copy link
Copy Markdown
Contributor

I’ll take a look here this evening!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants